package com.fastloan.mgt.application.base.model;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.kawins.spring.valid.annotation.IDCard;
import com.kawins.spring.valid.annotation.Regex;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @author yanwe
 * createTime 2017-11-2017/11/8 13:53
 */
public class ApplicationVo {

    private String applicationId;

    private String applicationCode;

    private String productId;

    private String customerId;

    private String orgId;

    private String customerManagerId;

    private String customerManagerName;

    private BigDecimal applyAmount;

    private BigDecimal auditAmount;

    private Integer applyPeriod;

    private Integer applicationStatus;

    private String cname;

    private String phoneNum;

    @IDCard
    private String cardNum;

    private String productName;

    private Integer surveyType;

    private Date applyTime;

    private Date createTime;

    private BigDecimal finalAmount;

    /**
     * 额度上限
     */
    private BigDecimal spendingLimit;

    /**
     * 额度下限
     */
    private BigDecimal spendingFloor;

    /**
     *  月利率上限
     */
    private BigDecimal monthlyLimit;

    /**
     * 月利率下限
     */
    private BigDecimal monthlyFloor;

    /**
     * 准入年龄上限
     */
    private Integer accessLimit;

    /**
     * 准入年龄下限
     */
    private Integer accessFloor;

    private Integer repayment;

    private Integer gender;

    private BigDecimal loanAmount;

    private String fundingId;

    @JsonIgnore
    private String ipcValue;

    public String getFundingId() {
        return fundingId;
    }

    public void setFundingId(String fundingId) {
        this.fundingId = fundingId;
    }

    public String getCustomerManagerName() {
        return customerManagerName;
    }

    public void setCustomerManagerName(String customerManagerName) {
        this.customerManagerName = customerManagerName;
    }

    public BigDecimal getFinalAmount() {
        return finalAmount;
    }

    public void setFinalAmount(BigDecimal finalAmount) {
        this.finalAmount = finalAmount;
    }

    public BigDecimal getLoanAmount() {
        return loanAmount;
    }

    public void setLoanAmount(BigDecimal loanAmount) {
        this.loanAmount = loanAmount;
    }

    public String getApplicationCode() {
        return applicationCode;
    }

    public void setApplicationCode(String applicationCode) {
        this.applicationCode = applicationCode;
    }

    public Integer getSurveyType() {
        return surveyType;
    }

    public void setSurveyType(Integer surveyType) {
        this.surveyType = surveyType;
    }

    public BigDecimal getAuditAmount() {
        return auditAmount;
    }

    public void setAuditAmount(BigDecimal auditAmount) {
        this.auditAmount = auditAmount;
    }

    public BigDecimal getSpendingLimit() {
        return spendingLimit;
    }

    public void setSpendingLimit(BigDecimal spendingLimit) {
        this.spendingLimit = spendingLimit;
    }

    public BigDecimal getSpendingFloor() {
        return spendingFloor;
    }

    public void setSpendingFloor(BigDecimal spendingFloor) {
        this.spendingFloor = spendingFloor;
    }

    public BigDecimal getMonthlyLimit() {
        return monthlyLimit;
    }

    public void setMonthlyLimit(BigDecimal monthlyLimit) {
        this.monthlyLimit = monthlyLimit;
    }

    public BigDecimal getMonthlyFloor() {
        return monthlyFloor;
    }

    public void setMonthlyFloor(BigDecimal monthlyFloor) {
        this.monthlyFloor = monthlyFloor;
    }

    public Integer getAccessLimit() {
        return accessLimit;
    }

    public void setAccessLimit(Integer accessLimit) {
        this.accessLimit = accessLimit;
    }

    public Integer getAccessFloor() {
        return accessFloor;
    }

    public void setAccessFloor(Integer accessFloor) {
        this.accessFloor = accessFloor;
    }

    public Integer getRepayment() {
        return repayment;
    }

    public void setRepayment(Integer repayment) {
        this.repayment = repayment;
    }

    public Integer getGender() {
        return gender;
    }

    public void setGender(Integer gender) {
        this.gender = gender;
    }

    public String getOrgId() {
        return orgId;
    }

    public void setOrgId(String orgId) {
        this.orgId = orgId;
    }

    public Date getApplyTime() {
        return applyTime;
    }

    public void setApplyTime(Date applyTime) {
        this.applyTime = applyTime;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public String getCustomerManagerId() {
        return customerManagerId;
    }

    public void setCustomerManagerId(String customerManagerId) {
        this.customerManagerId = customerManagerId;
    }

    public String getIpcValue() {
        return ipcValue;
    }

    public void setIpcValue(String ipcValue) {
        this.ipcValue = ipcValue;
    }

    public String getApplicationId() {
        return applicationId;
    }

    public void setApplicationId(String applicationId) {
        this.applicationId = applicationId;
    }

    public String getCustomerId() {
        return customerId;
    }

    public void setCustomerId(String customerId) {
        this.customerId = customerId;
    }

    public Integer getApplicationStatus() {
        return applicationStatus;
    }

    public void setApplicationStatus(Integer applicationStatus) {
        this.applicationStatus = applicationStatus;
    }

    public String getProductName() {
        return productName;
    }

    public void setProductName(String productName) {
        this.productName = productName;
    }

    public String getProductId() {
        return productId;
    }

    public void setProductId(String productId) {
        this.productId = productId;
    }

    public BigDecimal getApplyAmount() {
        return applyAmount;
    }

    public void setApplyAmount(BigDecimal applyAmount) {
        this.applyAmount = applyAmount;
    }

    public Integer getApplyPeriod() {
        return applyPeriod;
    }

    public void setApplyPeriod(Integer applyPeriod) {
        this.applyPeriod = applyPeriod;
    }

    public String getCname() {
        return cname;
    }

    public void setCname(String cname) {
        this.cname = cname;
    }

    public String getPhoneNum() {
        return phoneNum;
    }

    public void setPhoneNum(String phoneNum) {
        this.phoneNum = phoneNum;
    }

    public String getCardNum() {
        return cardNum;
    }

    public void setCardNum(String cardNum) {
        this.cardNum = cardNum;
    }

    @Override
    public String toString() {
        return "ApplicationVo{" +
                "applicationId='" + applicationId + '\'' +
                ", applicationCode='" + applicationCode + '\'' +
                ", productId='" + productId + '\'' +
                ", customerId='" + customerId + '\'' +
                ", orgId='" + orgId + '\'' +
                ", customerManagerId='" + customerManagerId + '\'' +
                ", applyAmount=" + applyAmount +
                ", auditAmount=" + auditAmount +
                ", applyPeriod=" + applyPeriod +
                ", applicationStatus=" + applicationStatus +
                ", cname='" + cname + '\'' +
                ", phoneNum='" + phoneNum + '\'' +
                ", cardNum='" + cardNum + '\'' +
                ", productName='" + productName + '\'' +
                ", surveyType=" + surveyType +
                ", applyTime=" + applyTime +
                ", createTime=" + createTime +
                ", spendingLimit=" + spendingLimit +
                ", spendingFloor=" + spendingFloor +
                ", monthlyLimit=" + monthlyLimit +
                ", monthlyFloor=" + monthlyFloor +
                ", accessLimit=" + accessLimit +
                ", accessFloor=" + accessFloor +
                ", repayment=" + repayment +
                ", gender=" + gender +
                ", loanAmount=" + loanAmount +
                ", ipcValue='" + ipcValue + '\'' +
                '}';
    }
}
